WlClock

WlClock is an xclock clone for Wayland. However, unlike xclock, it is a desktop widget rather than appearing as a regular window.

It should work with all Wayland servers that support the zwlr-layer-shell protocol.

You can find the code repository on sourcehut.

wlclock(1)

wlclock(1)                                    Version 1.0.1                                   wlclock(1)

NAME
     wlclock - A digital analog clock for Wayland

DESCRIPTION
     wlclock displays an analog clock on Wayland desktops.

     wlclock is inspired by xclock(1) and the default configuration has been chosen to mimic it. However
     unlike xclock, wlclock is not a regular window but a desktop-widget.

     A Wayland compositor must implement the Layer-Shell and XDG-Output for wlclock to work.

OPTIONS
     -h, --help
         Display help message and exit.

     -V, --version
         Display version and exit.

     -v, --verbose
         Increase verbosity of logging.

     --background-colour <colour>
         The background colour of the clock. The default is "#FFFFFF".

     --border-colour <colour>
         The border colour of the clock. The default is "#000000".

     --border-size <size>, --border-size <top> <right> <bottom> <left>
         Set  the border size. Requires either one argument, to set all border sizes, or four arguments,
         to set the border sizes individually. The default border size is 1.

     --clock-colour <colour>
         The colour of clock elements. The default is "#000000".

     --corner-radius <radius>, --corner-radius <top-left> <top-right> <bottom-right> <bottom-left>
         The radius of the corners. Expects either one argument, to set the radius of  all  corners,  or
         four arguments, to set the individual corner radii. If set to sufficiently high values, wlclock
         will be completely round. Set to 0 to disable corner roundness. The default radius is 0.

     --exclusive-zone <option>
         Exclusive  zone of the surface. Can be "true", "false" or "stationary". If "true", the composi‐
         tor is informed that it should not obstruct the surface of  wlclock  with  other  surfaces.  If
         "false",  the compositor is informed that it can place other surfaces over or under the surface
         of wlclock. If "stationary", the compositor is informed that the surface of wlclock should  not
         be  moved to accommodate other layer shell surfaces and that it can freely place other surfaces
         over or under the surface of wlclock. The default is "stationary". The exact implementation  is
         compositor  dependant;  A  compositor may choose to ignore the requested exclusive zone of sur‐
         faces.

     --hand-width <size>
         The width of the clock hands. If set to 0, wlclock will draw xclock-like clock hands.  The  de‐
         fault is 0.

     --layer <layer>
         Layer of the layer surface. Can be "overlay", "top", "bottom" or "background". Typically, "bot‐
         tom"  and  "background"  will  be underneath regular windows, while "top" and "overlay" will be
         above them, however the exact placement on the z axis depends on the implementation of the com‐
         positor. The default layer is "overlay".

     --margin <size>, --margin <top> <right> <bottom> <left>
         Set the margin. Requires either one argument, to set all margins, or four arguments, to set the
         margins individually. The default margin is 0.

     --marking-width <size>
         The width of the markings on the clock face. The default is 1.

     --namespace <namespace>
         The namespace of the layers surface. Some compositors  may  treat  layer  surfaces  differently
         based on their namespace. The default is "wlclock".

     --no-input
         If  this  flag  is used, wlclock will ask the compositor to not send it input events; This will
         make mouse events pass through wlclock to windows beneath it.

     --output <output name>
         Name of the output on which wlclock should be displayed. Output names are compositor dependant.
         If set to "all" or "*", wlclock will be displayed on all outputs, which is the  default  behav‐
         iour.

     --position <position>
         Set  the position of the clock. Can be "center", "top", "right", "bottom", "left", "top-right",
         "top-left", "bottom-right" and "bottom-left". Defaults to "center".

     --size <size>
         The size of the clock, without borders. The default size is 165.

     --snap
         If this flag is used, the hour hand will instantly snap to the next position once the new  hour
         begins, instead of slowly progressing over the hour.

COLOURS
     wlclock can parse hex code colours and read RGB values directly.

     The  supported formats are "#RRGGBB", "#RRGGBBAA", "0xRRGGBB" and "0xRRGGBBAA" for hex code colours
     and "rgb(rrr,ggg,bbb)" and "rgba(rrr,ggg,bbb,aaa)" for RGB colours.

AUTHORS
     Leon Henrik Plickat <leonhenrik.plickat@stud.uni-goettingen.de>

Version 1.0.1                                  2026-03-17                                     wlclock(1)